home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 23.zip
/
BS1 part 23
/
Junior-Prommer v2.07.adf
/
Junior-Soft_V2
/
Junior-Soft.doc
< prev
next >
Wrap
Text File
|
2018-01-15
|
26KB
|
674 lines
=============================================
= JUNIOR-PROMMER AMIGA-Software Version 2.0 =
=============================================
Komplettdokumentation
---------------------
Generelle Hinweise:
-Der kürzeren Schreibweise und besseren Lesbarkeit wegen wird
ab dieser Stelle statt JuniorPrommer-Software V2.0 das
Kürzel JPS2 verwendet.
-Alle Zahlenwerte, die vom Programm abgefragt werden (z.B.
bei der Bereich-Programmierung), müssen in hexadezimal (0-9,
a-f) ohne weitere Kennung (führendes '$' oder '0x' bzw. 'h'
am Ende) eingegeben werden; z.B. Bereich-Programmierung
eines 27512 von EPROM-Adresse $15e2 bis $af91 ab
Pufferadresse $1f00: einfach ohne die '$'-Zeichen eingeben,
und ohne Rücksicht auf Groß- oder Kleinschreibung der
Buchstaben. Ungültige Hexadezimal-Zeichen und Zahlenwerte
außerhalb des gültigen Bufferbereichs werden nach Abschluß
aller Eingaben eines Fensters erkannt und zurückgewiesen
('...adresse fehlerhaft').
-Das Programm bedient sich neben den jeweiligen Klartext-
Meldungen zusätzlich eines akustischen 3-Klang-Signals, um
den Benutzer auf erfolgreiche oder fehlerhafte Aktionen
aufmerksam zu machen. Dies ist insbesondere dafür gedacht,
bei längerem Programmierbetrieb nicht immer den Bildschirm
im Auge behalten zu müssen, um festzustellen, wann und wie
das Programmieren eines Bauteils beendet ist. Folgende
Bezeichnungen werden hier verwendet:
- ein OK-PING ertönt z.B. bei erfolgreichem Programmier- und
Verifizierdurchgang,
- während ein BAD-PING z.B. bei der Programmierung ertönt,
nachdem ein Fehler auftrat.
Diese akustischen Warnungen lassen sich im Status-Menü
abschalten.
-Dem häufigen Benutzer ebenfalls die Arbeit erleichtern soll
die Standard-Einstellung, daß nach einem erfolgreichen
Programmiervorgang automatisch das gesamte Bauteil noch
einmal mit dem Bufferinhalt verglichen wird (Auto-Verify).
Auch diese Funktion läßt sich im Status-Menü abschalten.
-Zur optischen Fortschrittskontrolle bei den
Programmierfunktionen wird generell ein Füllstandsbalken am
rechten Fensterrand angezeigt. Damit kann einigermaßen
abgeschätzt werden, wie lange die Programmierung dauert (vom
Typ, Modus, und je nach Programmierfunktion vom Bauteil-
Inhalt abhängig).
Wen der Balken stört, kann ihn im Status-Menü abschalten.
-In dieser Dokumentation steht für den Speicher, in dem die
Daten der Bauteile bearbeitet werden, die Bezeichnung
'Buffer'. Im Programm kann teilweise noch die Bezeichnung
'Puffer' stehen, gemeint ist aber das Gleiche.
Programmstart
Die JPS2 kann vom CLI oder der Workbench des AMIGA gestartet
werden. Vom CLI aus muß lediglich der Programmname
eingegeben werden (das Programm muß sich dazu im aktuellen
Dateiverzeichnis befinden oder in einem der Pfad-
Verzeichnisse, damit das DOS es finden kann - auf der
Original-JuniorPrommer-Diskette müßte das Programm im
Ausgangsverzeichnis (Root) stehen). Wenn Sie sich auf der
Workbench befinden, genügt es, das Disketten-Icon der JPS2-
Diskette anzuklicken und mit einem weiteren Doppelklick auf
das darin befindliche Icon des Hauptprogramms die JPS2 zu
starten.
Für die Funktion der JPS2 sind zwei externe Shared-Libraries
nötig, die im libs:-Verzeichnis stehen müssen (was auf der
Originaldiskette natürlich der Fall ist). Dies sind die
arp.library V39.1 und die req.library V2.5. Von letzterer
wird der Filerequester benutzt, siehe dazu auch die Hinweise
in der Programmierer-Dokumentation zu dieser Library oder
die Kurz-Anleitung am Ende dieses Textes (Anhang A).
Komplette Dokumentationen und Programmbeispiele zur
req.library sind auf der Public-Domain AmigaLibDisk 419
(Fish-Disk) zu finden, soweit sie nicht mitgeliefert wurden.
Programmtechnisch läuft der Start wie folgt ab:
arp.library öffnen, req.library öffnen, Parallelport
reservieren, timer.device öffnen, input.device öffnen und
eigenen input-handler installieren, audio.device öffnen und
'PING' vorbereiten, CustomScreen öffnen, Window darauf
öffnen, Speicher für Bauteile-Buffer reservieren (arbeitet
flexibel, es wird zunächst versucht, 1MB zu reservieren für
den größtmöglichen bearbeitbaren Baustein (278001), wenn
dies fehlschlägt wird die Buffergröße immer weiter durch 2
geteilt, bis die Reservierung klappt. Alle Bauteile, die nun
nicht mehr in den Buffer passen würden, werden
ausgeschaltet), Hardware initialisieren und Default-Typ
27256I einstellen, schließlich das Display aufbauen und
mittels PING signalisieren, daß losgearbeitet werden kann.
Beschreibung der Menüfunktionen
Datei-Menü
Laden
Öffnet das Dateiauswahlfenster der req.library.
Ausgangsverzeichnis ist das aktuelle Verzeichnis,
von dem die JPS2 aus gestartet wurde bzw. von der
Workbench aus das Verzeichnis, in dem sich auch
das JPS2-Icon befindet. Eine Kurzbeschreibung des
Dateiauswahlfensters finden Sie im Anhang A am
Ende dieses Textes.
Die ausgewählte Datei wird in den EPROM-Buffer
geladen; dabei ist es egal, ob die Datei zu lang
oder zu kurz für den gerade eingestellten EPROM-
Typ ist. Der für den aktuellen Typ vorgesehene
Buffer wird vor dem Laden mit 0xFF initialisiert.
Der Cursor springt nach erfolgreichem Laden der
Datei an die absolute Position 0.
Anhängen
Wie Laden, nur das die Datei ab der Buffer-Mitte
des eingestellten EPROM-Typs geladen wird und das
der Buffer vorher nicht initialisiert wird. Der
Cursor springt nach erfolgreichem Laden an die
exakte Buffer-Mitte (abhängig vom eingestellten
Bauteiletyp). Die Datei-Länge darf hier die halbe
Buffer-Länge nicht überschreiten.
Diese Funktion kann benutzt werden, um z.B. zwei
8KByte große Dateien (die sonst in zwei 2764
EPROMs gebrannt werden) nacheinander in den Buffer
zu laden (bei eingestelltem Typ 27128) und dann
dieses größere Bauteil "auf einmal" zu brennen.
Die zweite Möglichkeit wäre, die erste Datei
normal zu laden, das Bauteil normal zu brennen
(die zweite Hälfte bleibt dadurch unberührt), dann
die zweite Datei ebenfalls normal zu laden und
diese mittels der Funktion Bereich-Programmieren
(EPROM-Adressen von Mitte bis Ende des einge-
stellten Typs, im obigen Beispiel 27128 also von
$2000 bis $3fff, und Puffer ab Adresse $0) in die
obere Hälfte des Bauteils zu brennen.
Speichern
Ruft das Dateiauswahlfenster auf, und speichert
den gesamten Buffer in der Länge des eingestellten
Bauteiltyps unter einem einzugebenden Namen ab. Es
wird vor dem Abspeichern überprüft, ob das
Speichermedium noch genug Platz für die neue Datei
aufweist. Wenn eine bestehende Datei überschrieben
werden soll, erscheint eine Sicherheitsabfrage.
Löschen
Öffnet das Dateiauswahlfenster und löscht die
gewünschte Datei (OHNE eine weitere Sicher-
heitsabfrage ! Also bitte Vorsicht !)
Junior-Info
Aus diesem Info-Fenster kann man die Anschrift der
MAXON Computer GmbH und weitere Informationen
erhalten. Dieses Fenster erscheint auch stets,
wenn die JPS2 gestartet wird.
Programm-Ende
Nach einer Sicherheitsabfrage kann hier das
Programm verlassen werden. Alle reservierten
Ressourcen (Speicher, Parallel-Port, Libraries
etc.) werden wieder freigegeben.
Typ-Menü
EPROMS
Folgende Typen werden unterstützt:
2716 (25V), 2732 (25V), 2732A (21V), 2764 (21V),
2764A (12.5V), 27128 (21V), 27128A (12.5V), 27256
(21V), 27256I (12.5V), 27512 (12.5V), 27513
(12.5V), 27011 (12.5V).
Wenn Sie nicht sicher sind, welche Einstellung bei
gleichem Typ die Richtige ist (z.B. 27256 oder
27256I), entscheidet der meist auf dem Bauteil
aufgedruckte Programmierspannungswert (der etwa
wie folgt aussieht: @12.5V -- hier muß also der
27256I eingestellt werden). Das 'I' beim 27256I
deutet einfach nur auf den Hersteller Intel und
gehört NICHT zur Typbezeichnung auf dem Bauteil.
Zahlenwerte hinter der Typbezeichnung wie etwa
27C512-25 geben NICHT die Programmierspannung,
sondern die Zugriffszeit (hier 250 ns) des
Bauteils an. Das 'C' in diesem Beispiel besagt,
daß es sich um einen CMOS-Typ handelt (diese
zeichnen sich u.a. durch eine geringere
Stromaufnahme aus). Normalerweise sollte auch das
Programmieren von solchen C-Typen keine
Schwierigkeiten bereiten.
MEGA-EPROMS
Folgende MegaBit-EPROMs werden unterstützt:
271001 (12.5V, baugleich mit 27010), 272001
(12.5V, baugleich mit 27020 (?)), 274001 (12.5V,
baugleich mit 27030 (?)), 278001 (12.5V, baugleich
mit 27040 (?)).
Wird einer dieser Typen angewählt, erscheint der
Hinweis, daß der MEGA-Adapter verwendet werden
muß. Dieser Adapter sollte bei ausgeschaltetem
Rechner installiert werden, um Beschädigungen der
Hardware durch Spannungsschwankungen zu vermeiden.
Der Hebel des Nullkraft-Sockels auf dem Adapter
muß in die gleiche Richtung weisen, wie der des
Basisgerätes, dann ist der Adapter richtigherum
eingebaut (jedenfalls trifft dies bei meinem
Adapter zu). Es sollte NICHT versucht werden, mit
eingebautem Adapter andere Bauteile als die
MegaBit-EPROMs zu bearbeiten.
ACHTUNG: die Typen 272001, 274001 und 278001 sind
mit Vorsicht zu genießen, da sie noch nicht
getestet werden konnten. Es dürfte aber keine
Probleme geben.
ROMS
Folgende ROMs können mit dieser Software
ausgelesen werden:
4732, 4764, 47128, 47256.
Alle Funktionen, die normalerweise nur bei
reprogrammierbaren Bauteilen benutzbar sind,
werden ausgeschaltet (z.B. die
Programmierfunktionen).
(Keiner dieser Bauteile stand mir zum Testen zur
Verfügung. Die entsprechenden Routinen sind aus
der 1.10-Version übernommen.)
EEPROMS
Folgende Typen können bearbeitet werden:
X2804A, X2816A, X2864A, X28256A.
(Auch diese Typen waren nicht verfügbar. Siehe
Punkt 3)
Modus-Menü
Der Programmier-Modus gibt lediglich an, mit welchem
Verfahren das Bauteil programmiert wird. Außer den
Programmier-Funktionen sind also keine weiteren
Routinen von dem hier eingestellten Wert abhängig.
Auto
Der in der Programm-internen Typtabelle
abgespeicherte Wert wird benutzt. Das ist die
sicherste, bei Bauteilen mit größerer Kapazität
aber sicher nicht die schnellste mögliche
Einstellung. Bei Auswahl eines neuen Bauteiletyps
wird als Programmier-Modus immer 'Auto' neu
eingestellt. Im folgenden die Liste der internen
Einstellungen (die laufende Nummer ist
gleichzeitig der interne Listen-Index):
00) 2716 - 50ms
01) 2732 - 50ms
02) 2732A - 50ms
03) 2764 - 1ms/4*
04) 2764A - 1ms/4*
05) 27128 - 1ms/4*
06) 27128A - 1ms/4*
07) 27256I - 1ms/3*
08) 27256 - 1ms/3*
09) 27512 - 1ms/3*
10) 27513 - 1ms/3*
11) 27011 - 1ms/3*
12) 271001 - 1ms/3*
13) 272001 - 1ms/3*
14) 274001 - 1ms/3*
15) 278001 - 1ms/3*
16) 4732 - nicht programmierbar
17) 4764 - " "
18) 47128 - " "
19) 47256 - " "
20) X2804A - 10ms, keine Nachprogr., 2 Wiederh.
21) X2816A - 50ms
22) X2864A - 10ms, keine Nachprogr., 2 Wiederh.
23) X28256A - 10ms, keine Nachprogr., 2 Wiederh.
50 ms
Jedes Byte wird 50 ms lang programmiert. Keine
Nachprogrammierzeit, maximal 2 Wiederholungen.
Dieser Modus MUSS bei den Typen 2716, 2732 und
2732A verwendet werden (bei Auto garantiert).
1 ms/4*
Jedes Byte wird 1 Millisekunde lang programmiert
und überprüft, ob es gespeichert worden ist. Dies
wird maximal 15 Mal wiederholt. Anschließend wird
mit der 4-fachen Zeit für dieses Byte
nachprogrammiert. Dies ist die Standardeinstellung
für 2764 bis 27128.
1 ms/3*
Wie zuvor, aber maximal 25 Wiederholungen und nur
die 3-fache Nachprogrammierzeit. Standard für
27256 bis 278001.
1 ms/1*
Optionaler Modus, maximal 25 Wiederholungen je
Byte und einfache Nachprogrammierung. Für Bauteile
wie 27512 und alle MegaBit-EPROMs zu empfehlen, da
die Programmierzeit erheblich kürzer ist.
QUICK
Der schnellste Programmier-Modus. Jedes Byte wird
maximal 50 Mal jeweils 100 Mikrosekunden lang
gebrannt, ohne Nachprogrammierung. Für dieselben
Typen wie bei 1 ms/1* anzuwenden.
Sollte sich ein Bauteil mit dem manuell eingestellten
Modus nicht programmieren lassen, wird empfohlen, den
nächstlangsameren Modus zu probieren. Bei Einstellung
'Auto' ist im Fehlerfall aber anzunehmen, daß das
Bauteil entweder nicht leer oder defekt ist.
Optionen-Menü
Lesen
Das im Junior-Prommer-Sockel eingesetzte Bauteil
wird in kompletter Länge in den Buffer eingelesen.
Der Buffer wird dadurch unwiderruflich
überschrieben, eventuell gemachte Änderungen am
Bufferinhalt gehen verloren !
Das auszulesende Bauteil sollte ZUERST im Typ-
Menu eingestellt, DANN in den Nullkraftsockel des
Gerätes eingesetzt und ZULETZT mittels dieser
Funktion ausgelesen werden.
Vergleichen
Damit wird das eingesetzte Bauteil Byte für Byte
mit dem Inhalt des Buffers verglichen; sind beider
Inhalte identisch, ertönt ein OK-PING und die
Meldung 'Puffer identisch !', ansonsten ist ein
BAD-PING zu hören und die Meldung 'Puffer ist
nicht identisch' erscheint. Im letzteren Fall
springt der Cursor an die Buffer-Adresse mit dem
differierenden Inhalt. Der Buffer-Inhalt wird mit
dieser Funktion nicht verändert.
Leertest
Es wird getestet, ob alle Bytes des eingesetzten
Bauteils den Wert $ff haben. OK-PING, wenn dem so
ist bzw. BAD-PING, wenn nicht, mit entsprechender
Cursor-Positionierung. (Fehler-)Meldungen 'Bauteil
ist leer' bzw. 'Bauteil ist nicht leer'.
Technischer Hinweis: EPROMs gelten als leer, wenn
alle Bits den Wert 1 haben. Das bedeutet, daß nur
Nullen gebrannt werden können. Ein EPROM-Bit, das
auf Null gebrannt wurde, kann nur mittels UV-Licht
wieder auf Eins gebracht (gelöscht) werden. Daher
ist manchmal auch ein überprogrammieren von
bereits programmierten EPROMs möglich; z.B. kann
ein EPROM-Byte $7f (=0111 1111) mit dem Byte $1a
(=0001 1010) überbrannt werden, aber nicht
umgekehrt. Um festzustellen, ob ein Bauteil mit
dem Bufferinhalt überbrannt werden kann, soll die
nachfolgende Funktion benutzt werden:
Bit-Test
Zu allen gesetzten Bits des Buffers wird geprüft,
ob die entsprechenden Bits des Bauteils ebenfalls
auf 1 stehen (gelöschter Zustand, siehe Tech-
nischen Hinweis vom vorigen Befehl). In diesem
Fall kann das Bauteil mit dem Bufferinhalt
überbrannt werden, Meldung 'Programmierung
möglich'. Ansonsten springt der Cursor an die
Bufferadresse, dessen Inhalt nicht in die
entsprechende EPROM-Adresse programmiert werden
könnte mit der Meldung 'Programmierung nicht
möglich'; entsprechende PINGs werden ausgegeben.
Prüfsumme
Es wird die Langwort-Summe aller Bytes des Buffer-
inhaltes für den eingestellten Bauteiltyp
berechnet und als nicht-vorzeichenbehaftetes
Langwort in hexadezimal ausgegeben.
Programmieren
... Erraten. Hiermit wird der Bufferinhalt in
seiner ganzen Schönheit Byte-für-Byte in das
eingesetzte Bauteil gebrannt. Dazu wird der
jeweils eingestellte Modus benutzt, siehe dort für
nähere Hinweise. Wenn der eingestellte nicht mit
dem eingesetzten Typ übereinstimmt, müssen Sie mit
Zerstörungen rechnen ! Zumindest das eingesetzte
(falsche) Bauteil könnte Schaden nehmen.
Bei meinem eigenen Gerät habe ich mehrfach 2764A-
EPROMs versehentlich mit der Einstellung 2764
(also der doppelten Programmierspannung) zu
programmieren versucht. Meistens standen die
korrekten Daten nachher zwar in dem Bauteil, aber
dafür ließ er sich nicht mehr löschen...
Normalerweise ein Fall für den (Sonder-)Müll.
Fast-Programmieren
Läuft ab wie beim Programmieren, mit allen
Hinweisen wie oben. Einziger Unterschied: Bytes im
Buffer mit dem Wert $ff werden übersprungen und
nicht programmiert, dadurch ergeben sich je nach
Inhalt des Buffers manchmal erheblich
Zeiteinsparungen (eben abhängig davon, wie viele
$ff der Buffer enthält). Der Grund warum dieser
Modus überhaupt funktioniert: alle Bits eines
EPROMs sind im leeren Zustand gesetzt, also
enthält das EPROM (leer) nur $ff's. Folglich kann
man diese beim Programmieren ruhig auslassen, ohne
Schaden befürchten zu müssen.
Diese Funktion sollte nur mit wirklich leeren
EPROMs benutzt werden, sonst können bei einem
nachfolgenden Verify Fehler angezeigt werden,
obwohl die Programmierung eigentlich erfolgreich
war.
2716, 2732, 2732A DÜRFEN NICHT MIT DIESER FUNKTION
GEBRANNT WERDEN !!!!!! Diese Bauteile müssen immer
komplett, vom Anfang bis Ende, im 50ms-Modus
gebrannt werden, ansonsten besteht die Gefahr,
eine unsaubere (nicht vollständige oder
fehlerhafte) Programmierung zu erhalten.
Bereich-Programmieren
Hiermit kann jeder beliebige Buffer-Bereich in
jeden beliebigen Bereich des Bauteils gebrannt
werden. Dazu wird der Adreßbereich innerhalb des
Bauteils angegeben (relativ zu Bauteil-Adresse
$0), wobei Anfangs- und Endadresse mitgezählt
werden (Inklusiv-Adressen). Als dritter Parameter
wird die Anfangsadresse im Buffer benötigt, ab der
die Daten in das Bauteil gebrannt werden sollen
(relativ zu Buffer-Adresse $0). Die Länge des
Blocks, der gebrannt werden soll, wird durch den
Bauteil-Adreßbereich bestimmt, und muß voll
innerhalb des Buffers liegen. So wird z.B.
folgender Programmierversuch angemeckert:
Typ 2764, Brennen von EPROM-Adresse $1000 bis
inklusive $1fff, ab Bufferadresse $1001 --> die
Blocklänge ($1000) geht um 1 Byte über die
Buffergrenze hinaus und wird nicht akzeptiert.
Gültige Bufferadressen wären im Bereich von $0 bis
$1000.
Übrigens: Bei allen Programmierfunktionen wird ein
Füllbalken am rechten Fensterrand angezeigt, der helfen
soll, die Programmierzeit zu überblicken. Dieser Balken
(kein %$&!-Prop-Gadget!) wird zeilenweise aufgebaut, in
Abhängigkeit von der Größe des zu Programmierenden
Bereichs. Beim 2764 erscheint beispielsweise für
jeweils 37 programmierte Bytes eine weitere Linie des
Balkens.
Puffer-Menü
Neu
Der aktuell eingestellte Bufferbereich wird
gelöscht (d.h. mit $ff initialisiert). Der übrige
Buffer bleibt unberührt. Beispiel: 2764 einstellen
und Bauteil auslesen, 2716 einstellen, diese
Funktion auslösen, wieder 2764 einstellen ... es
sind nur die ersten 2K des jetzigen 8K-Bereichs
leer; die letzten 6K enthalten noch die zuletzt
eingelesenen Daten.
Anfang
Setzt den Cursor im eingestellten Modus (HEX oder
ASCII) auf die erste Zeile des Buffers. Die
horizontale Cursorposition bleibt erhalten.
Ende
Setzt den Cursor auf die letzte Zeile des Buffers,
abhängig vom eingestellten Typ. Die horizontale
Cursorposition bleibt erhalten.
Gehe Adresse
Es erscheint ein Eingabefenster, in das die
Adresse, zu der gesprungen werden soll, eingegeben
werden kann (in hexadezimal). Eine leere Eingabe
(kein Zeichen) wird als Adresse $0 interpretiert.
Adressen außerhalb des gültigen Bereichs werden
entsprechend angemeckert, ebenso ungültige Zeichen
in der Eingabe. Der Cursor wird an der gewünschten
Stelle plaziert.
Suchen ASCII
Ein Eingabefenster erscheint, in dem ein
beliebiger ASCII-String eingegeben werden kann.
Dieser wird dann im gesamten Buffer gesucht. Bei
Erfolg wird die entsprechende Zeile des Buffers
als oberste Zeile (soweit möglich) ausgegeben und
der Cursor (im ASCII-Modus) an den Anfang des
Strings gesetzt, sowie eine Meldung ausgegeben, ob
weitergesucht oder abgebrochen werden soll. Bei
Abbruch verbleibt der Cursor an der letzten
Position. Wird der String nicht mehr gefunden,
erscheint eine entsprechende (letzte) Meldung.
Eine leere Eingabe wird ignoriert und die Suche
nicht gestartet.
Suchen Bytes
Analog zu 'Suchen ASCII', nur wird die Eingabe
hexadezimal interpretiert und der Cursor springt
bei Erfolg in den HEX-Modus.
Füllen ASCII
Es muß ein Buffer-Bereich angegeben werden (in
hexadezimal, inklusiv gerechnet), der mit dem als
dritten Parameter anzugebenen Daten gefüllt wird.
Überzählige Fülldaten am Ende des Bereichs werden
abgeschnitten; es wird der exakt gewünschte
Bereich gefüllt. Leere Eingaben bei den Adressen
werden als $0 interpretiert, bei leerer Eingabe
des Füll-Strings wird die Aktion nicht ausgeführt.
Die Cursorposition wird nicht verändert.
Füllen Bytes
Analog zu 'Füllen ASCII', bis auf die Eingabe von
hexadezimalen Füll-Daten.
Kopieren
Der zu kopierende Datenbereich von-bis (inklusiv,
in hexadezimal) ist einzugeben, als dritter
Parameter wird die Zieladresse, zu der die Daten
kopiert werden sollen, erwartet. Leere Eingaben
werden als $0 interpretiert. Überschneidungen sind
erlaubt. Der zu kopierende Block muß vollständig
innerhalb des Buffers landen, sonst wird die
Zieladresse angemeckert ('Zieladresse
fehlerhaft').
Hex-Modus
Der Cursor wird in den HEX-Modus gebracht, d.h. in
den hexadezimalen Teil des Displays. Hier können
die Bufferdaten mit den Tasten 0-9,A-F direkt in
hexadezimal verändert werden.
Ascii-Modus
Der Cursor wird in den ASCII-Modus gebracht, also
in den 'Klartext'-zeigenden Teil des Displays
(rechtes Drittel). Beliebige Eingaben mit allen
Tasten sind hier möglich und werden jeweils als
einzelnes Zeichen im Buffer abgespeichert. Z.B.
erzeugen die Return- und die Enter-Taste den Code
$0d, alle Buchstabentasten den entsprechenden
ASCII-Code usw. Problem: die Umlaute und das 'ß'
werden aus technischen Gründen nicht korrekt
wiedergegeben, obwohl der im Buffer gespeicherte
Wert korrekt ist. Dies ist KEIN Fehler ! Wird der
Buffer auf Diskette abgespeichert und vom CLI aus
mit dem DOS-Befehl 'type ...' begutachtet, stimmt
alles.
Status-Menü
Alle im Programm angezeigten Meldungen in diesem Menü
sind die aktuellen Zustände ! D.h. wenn in der ersten
Zeile 'Ping eingeschaltet' steht, wird bei einigen
Funktionen ein erfolgsabhängiges Geräusch zu hören
sein. Entsprechendes gilt für die anderen Menüpunkte.
Es ist kein mehrfachselektieren möglich, d.h. jeder
Menüpunkt muß einzeln 'angefahren' und selektiert
werden, um ihn umzuschalten.
Ping ein/ausgeschaltet
Akustische Kontrolle über einige Funktionen des
Programms. Dürfte eigentlich eine große Hilfe
sein, wenn man nicht ständig auf den Bildschirm
starren will und sehnsüchtig das Ende einer
Programmierung erwartet. Beim Neustart des
Programms ist diese Option eingeschaltet.
AUTO-Verify aktiv/Kein AUTO-Verify
Wieder eine (vermeintliche) Arbeitserleichterung.
Aktives AUTO-Verify heißt, daß nach jedem
erfolgreichen Programmieren sofort die Verify-
Funktion aufgerufen wird. Bei gleichzeitig
eingeschaltetem PING braucht man jetzt also nur
noch auf zwei Mal OK-PING hintereinander zu
warten, und das Bauteil ist (garantiert ?) korrekt
gebrannt. Auch diese Option ist standardmäßig
eingeschaltet.
Programmieren mit/ohne Füllbalken
Der Füllbalken für die Programmierfunktionen am
rechten Bildschirmrand kann hiermit global
an/abgeschaltet werden. Standard ist eingeschaltet
(was sonst ? Sieht schließlich GÖTTLICH aus...)
Tastaturbelegung
Die Tastaturbelegung für die Cursorpositionierung ist
identisch mit der letzten Programmversion 1.10, also wie
folgt:
Pfeiltasten -Cursor eine Stelle in der
entsprechenden Richtung
weiterbewegen, im Rahmen des
eingestellten Buffers. Autorepeat.
Rollbalken wird erst bei Loslassen
der Pfeiltasten neu positioniert.
CTRL + Pfeiltasten- Cursor ebenfalls eine Stelle
weiterbewegen, aber etwas
schneller. Autorepeat.
Zeilenweises, aber weiches
Scrolling. Rollbalken wird bei
Loslassen der Pfeiltasten neu
positioniert.
SHIFT + Pfeiltasten-Cursor seitenweise auf/ab bewegen
bzw. an Zeilenanfang/ende setzen.
Ebenfalls Autorepeat und
Rollbalken-Setzen wie zuvor.
Weitere spezielle Tastatur-Belegungen existieren nicht mehr.
================================================================
Anhang A: Kurzbeschreibung des Filerequesters der req.library
In der Kopfzeile des Filerequester-Fensters wird die ausgewählte
Funktion angezeigt (Datei-Laden, Datei-Speichern oder Datei-
Löschen), zudem sind die Farben des Fensters von der
Datenrichtung der Funktion abhängig.
Im linken, größeren Bereich des Filerequester-Fensters werden die
Dateien aus dem aktuellen Verzeichnis mitsamt Länge angezeigt.
Mit einem Doppelklick auf eine Zeile selektiert man die
entsprechende Datei und verläßt automatisch den Filerequester.
Nach dem ersten Klick wird der Name der Datei in das unterste
Feld 'File' kopiert, wo er von Hand korrigiert werden kann. Das
Feld darüber ('Drawer') gibt den Namen des aktuellen
Verzeichnisses wieder (ist zu Beginn leer, nur wenn man selber
das Verzeichnis wechselt, steht hier etwas).
Mit einem Mausklick auf 'OK' wird die Eingabe quittiert, auf
'Cancel' wird abgebrochen, und auf 'Get Dir' wird das aktuelle
Verzeichnis neu eingelesen.
Der Filerequester zeigt folgendes Verhalten: beim ersten Aufruf
werden alle Dateinamen im aktuellen Verzeichnis gelesen und in
der Reihenfolge des Lesens auch in Echtzeit angezeigt (es kann
noch während des Einlesens ein Filename angeklickt, von Hand
eingegeben und quittiert werden). Wenn das Verzeichnis
vollständig gelesen werden konnte, wird beim nächsten Benutzen
des Filerequesters das Einlesen der Namen übersprungen. Das
Einlesen kann dann mit dem Gadget 'Get Dir' erzwungen werden.
Konnte das aktuelle Verzeichnis beim ersten Mal nicht vollständig
gelesen werden, oder wird danach in dem aktuellen Verzeichnis
eine Datei abgespeichert oder gelöscht, so werden die Dateinamen
bei erneutem Aufruf des Filerequesters auf jeden Fall wieder alle
neu gelesen.
Bei vollständig eingelesenem Verzeichnis wird bei einem Klick auf
den Rollbalken rechts neben dem Dateinamen-Display die Dateiliste
alphabetisch sortiert.
Das rechte Display-Feld des Fensters zeigt eine alphabetische
Liste der logischen Geräte und Assignments im System. Damit kann
auf schnellstem Wege durch Doppelklick z.B. ein anderes Laufwerk
für die Datei angewählt und angezeigt werden.
Mit dem 'Parent'-Gadget am oberen linken Fensterrand kann man aus
einem Unterverzeichnis einen Schritt zurück machen, in das
Verzeichnis davor. Dieses Gadget wirkt nur, wenn man selber
vorher ein paar Verzeichnisse tiefer gegenagen ist.
Mit den 'Hide' und 'Show'-Feldern kann man bestimmte Gruppen von
Dateien explizit ausblenden oder als einzige darstellen. Es
können AMIGA-DOS oder ARP-Wildcards verwendet werden, z.B. unter
'Hide' "*.info" oder "#?.info" versteckt alle Dateien mit der
Endung .info im linken Display.
Wer NOCH MEHR über diesen Filerequester und andere Vorzüge der
req.library wissen will, der sei auf die Programmers
documentation verwiesen (Fish 419, wie schon mehrfach erwähnt).
Bleibt nur noch, viel Spaß und Erfolg mit der neuen Junior
Prommer Software Version 2.0 zu wünschen !
Michael Barth, am 22./23. Februar 1991